home *** CD-ROM | disk | FTP | other *** search
Wrap
'************************************************************************** '* PowerTCP Setup '************************************************************************** ''$DEFINE DEBUG ''Define for script development/debugging '$INCLUDE 'setupapi.inc' '$INCLUDE 'msdetect.inc' ''Dialog ID's CONST WELCOME = 100 CONST ASKQUIT = 200 CONST DESTPATH = 300 CONST LICENSE = 301 CONST EXITFAILURE = 400 CONST EXITQUIT = 600 CONST EXITSUCCESS = 700 CONST OPTIONS = 800 CONST APPHELP = 900 CONST BILLBOARD = 5000 CONST BADPATH = 6400 ''Bitmap ID CONST LOGO = 1 GLOBAL DEST$ ''Default destination directory. GLOBAL OPTCUR$ ''Option selection from option dialog. DECLARE SUB Install DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING DECLARE FUNCTION Ctl3dAutoSubClass Lib "Ctl3d.dll" (hInst AS INTEGER) AS INTEGER DECLARE FUNCTION Ctl3dRegister Lib "Ctl3d.dll" (hInst AS INTEGER) AS INTEGER DECLARE FUNCTION Ctl3dUnRegister Lib "Ctl3d.dll" (hInst AS INTEGER) AS INTEGER DECLARE FUNCTION ShowWindow Lib "User" (hWnd AS INTEGER, nCmdShow AS INTEGER) AS INTEGER CONST SW_SHOWMAXIMIZED = 3 INIT: suc% = ShowWindow(HWndFrame(), SW_SHOWMAXIMIZED) CUIDLL$ = "mscuistf.dll" ''Custom user interface dll HELPPROC$ = "FHelpDlgProc" ''Help dialog procedure ret% = Ctl3dRegister(HinstFrame()) ret% = Ctl3dAutoSubClass(HinstFrame()) SetBitmap CUIDLL$, LOGO SetTitle "PowerTCP Setup" SetAbout "PowerTCP", "Version 1.1 Copyright ⌐ 1994 Dart Communications" ret% = SetBeepingMode(1) szInf$ = GetSymbolValue("STF_SRCINFPATH") IF szInf$ = "" THEN szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF" END IF ReadInfFile szInf$ OPTCUR$ = "1" DEST$ = "C:\POWERTCP" '$IFDEF DEBUG i% = SetSizeCheckMode(scmOnIgnore) '' could use scmOff; def = scmOnFatal WinDrive$ = MID$(GetWindowsDir, 1, 1) IF IsDriveValid(WinDrive$) = 0 THEN i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK) GOTO QUIT END IF '$ENDIF ''DEBUG WELCOME: sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$) IF sz$ = "CONTINUE" THEN UIPop 1 ELSE GOSUB ASKQUIT GOTO WELCOME END IF GETPATH: SetSymbolValue "EditTextIn", DEST$ SetSymbolValue "EditFocus", "END" GETPATHL1: sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$) DEST$ = GetSymbolValue("EditTextOut") IF sz$ = "CONTINUE" THEN IF IsDirWritable(DEST$) = 0 THEN GOSUB BADPATH GOTO GETPATHL1 END IF UIPop 1 ELSEIF sz$ = "REACTIVATE" THEN GOTO GETPATHL1 ELSEIF sz$ = "BACK" THEN UIPop 1 GOTO WELCOME ELSE GOSUB ASKQUIT GOTO GETPATH END IF OPTION: '' SetSymbolValue "RadioDefault", OPTCUR$ OPTL1: sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FRadioDlgProc", APPHELP, HELPPROC$) OPTCUR$ = GetSymbolValue("ButtonChecked") IF sz$ = "CONTINUE" THEN UIPop(1) ELSEIF sz$ = "REACTIVATE" THEN GOTO OPTL1 ELSE GOSUB ASKQUIT GOTO OPTION END IF AddToBillboardList CUIDLL$, BILLBOARD, "FModelessDlgProc", 1 SetCopyGaugePosition 160, 170 Install IF OPTCUR$ = "2" THEN i% = DoMsgBox("Be sure to modify your autoexec.bat file to include " + MakePath(DEST$,"BIN") + " in your path statement.", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND) END IF QUIT: ON ERROR GOTO ERRQUIT IF ERR = 0 THEN dlg% = EXITSUCCESS ELSEIF ERR = STFQUIT THEN dlg% = EXITQUIT ELSE dlg% = EXITFAILURE END IF QUITL1: sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "") IF sz$ = "REACTIVATE" THEN GOTO QUITL1 END IF UIPop 1 ret% = Ctl3dUnRegister(HinstFrame()) END ERRQUIT: i% = DoMsgBox("Setup sources were corrupted, call (315) 655-1024!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND) ret% = Ctl3dUnRegister(HinstFrame()) END BADPATH: sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "") IF sz$ = "REACTIVATE" THEN GOTO BADPATH END IF UIPop 1 RETURN ASKQUIT: sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "") IF sz$ = "EXIT" THEN UIPopAll ERROR STFQUIT ELSEIF sz$ = "REACTIVATE" THEN GOTO ASKQUIT ELSE UIPop 1 END IF RETURN '** '** Purpose: '** Builds the copy list and performs all installation operations. '** Arguments: '** none. '** Returns: '** none. '************************************************************************* SUB Install STATIC SrcDir$ = GetSymbolValue("STF_SRCDIR") CreateDir DEST$, cmoNone CreateDir MakePath(DEST$,"bin"), cmoNone CreateDir MakePath(DEST$,"include"), cmoNone CreateDir MakePath(DEST$,"lib"), cmoNone CreateDir MakePath(DEST$,"samples"), cmoNone CreateDir MakePath(DEST$,"samples\c_echo"), cmoNone CreateDir MakePath(DEST$,"samples\c_telnet"), cmoNone CreateDir MakePath(DEST$,"samples\c_ftp"), cmoNone CreateDir MakePath(DEST$,"samples\vb_talk"), cmoNone CreateDir MakePath(DEST$,"samples\vb_tcpex"), cmoNone CreateDir MakePath(DEST$,"samples\vb_vt220"), cmoNone CreateDir MakePath(DEST$,"samples\vb_tntex"), cmoNone CreateDir MakePath(DEST$,"samples\vb_ftp"), cmoNone OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0 WriteToLogFile "" WriteToLogFile " User chose as destination directory: '" + DEST$ + "'" WriteToLogFile " User chose option: '" + OPTCUR$ + "'" WriteToLogFile "" WriteToLogFile "May have had to create the directory: " + DEST$ WriteToLogFile "May have had to create the directory: " + MakePath(DEST$,"bin") WriteToLogFile "May have had to create the directory: " + MakePath(DEST$,"include") WriteToLogFile "May have had to create the directory: " + MakePath(DEST$,"lib") WriteToLogFile "May have had to create the directory: " + MakePath(DEST$,"samples") WriteToLogFile "May have had to create the directory: " + MakePath(DEST$,"samples\c_echo") WriteToLogFile "May have had to create the directory: " + MakePath(DEST$,"samples\c_telnet") WriteToLogFile "May have had to create the directory: " + MakePath(DEST$,"samples\c_ftp") WriteToLogFile "May have had to create the directory: " + MakePath(DEST$,"samples\vb_talk") WriteToLogFile "May have had to create the directory: " + MakePath(DEST$,"samples\vb_tcpex") WriteToLogFile "May have had to create the directory: " + MakePath(DEST$,"samples\vb_vt220") WriteToLogFile "May have had to create the directory: " + MakePath(DEST$,"samples\vb_tntex") WriteToLogFile "May have had to create the directory: " + MakePath(DEST$,"samples\vb_ftp") WriteToLogFile "" SELECT CASE OPTCUR$ CASE "1" AddSectionFilesToCopyList "binFiles", SrcDir$, GetWindowsSysDir() CASE "2" AddSectionFilesToCopyList "binFiles", SrcDir$, MakePath(DEST$,"bin") END SELECT AddSectionFilesToCopyList "rootFiles", SrcDir$, DEST$ AddSectionFilesToCopyList "includeFiles", SrcDir$, MakePath(DEST$,"include") AddSectionFilesToCopyList "libFiles", SrcDir$, MakePath(DEST$,"lib") AddSectionFilesToCopyList "c_echoFiles", SrcDir$, MakePath(DEST$,"samples\c_echo") AddSectionFilesToCopyList "c_telnetFiles", SrcDir$, MakePath(DEST$,"samples\c_telnet") AddSectionFilesToCopyList "c_ftpFiles", SrcDir$, MakePath(DEST$,"samples\c_ftp") AddSectionFilesToCopyList "vb_talkFiles", SrcDir$, MakePath(DEST$,"samples\vb_talk") AddSectionFilesToCopyList "vb_tcpexFiles", SrcDir$, MakePath(DEST$,"samples\vb_tcpex") AddSectionFilesToCopyList "vb_vt220Files", SrcDir$, MakePath(DEST$,"samples\vb_vt220") AddSectionFilesToCopyList "vb_tntexFiles", SrcDir$, MakePath(DEST$,"samples\vb_tntex") AddSectionFilesToCopyList "vb_ftpFiles", SrcDir$, MakePath(DEST$,"samples\vb_ftp") CopyFilesInCopyList CreateProgmanGroup "PowerTCP Demo Toolkit", "", cmoNone ShowProgmanGroup "PowerTCP Demo Toolkit", 1, cmoNone CreateProgmanItem "PowerTCP Demo Toolkit", "Read Me", MakePath(DEST$,"readme.hlp"), "", cmoOverwrite CreateProgmanItem "PowerTCP Demo Toolkit", "C++ Telnet Sample", MakePath(DEST$,"samples\c_telnet\tnt16cpp.exe"), "", cmoOverwrite CreateProgmanItem "PowerTCP Demo Toolkit", "C Echo Sample", MakePath(DEST$,"samples\c_echo\echo16c.exe"), "", cmoOverwrite CreateProgmanItem "PowerTCP Demo Toolkit", "VT-220 Telnet Client Sample", MakePath(DEST$,"samples\vb_vt220\vt220.exe"), "", cmoOverwrite CreateProgmanItem "PowerTCP Demo Toolkit", "C FTP Sample", MakePath(DEST$,"samples\c_ftp\ftpc.exe"), "", cmoOverwrite CreateProgmanItem "PowerTCP Demo Toolkit", "VB Talk Sample", MakePath(DEST$,"samples\vb_talk\talk.exe"), "", cmoOverwrite CreateProgmanItem "PowerTCP Demo Toolkit", "VB Telnet Sample", MakePath(DEST$,"samples\vb_tntex\telnetex.exe"), "", cmoOverwrite CreateProgmanItem "PowerTCP Demo Toolkit", "VB TCP Sample", MakePath(DEST$,"samples\vb_tcpex\tcpex.exe"), "", cmoOverwrite CreateProgmanItem "PowerTCP Demo Toolkit", "VB FTP Sample", MakePath(DEST$,"samples\vb_ftp\ftp.exe"), "", cmoOverwrite CloseLogFile END SUB '** '** Purpose: '** Appends a file name to the end of a directory path, '** inserting a backslash character as needed. '** Arguments: '** szDir$ - full directory path (with optional ending "\") '** szFile$ - filename to append to directory '** Returns: '** Resulting fully qualified path name. '************************************************************************* FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING IF szDir$ = "" THEN MakePath = szFile$ ELSEIF szFile$ = "" THEN MakePath = szDir$ ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN MakePath = szDir$ + szFile$ ELSE MakePath = szDir$ + "\" + szFile$ END IF END FUNCTION